package com.vdong.trade.trading.common.context;


/**
 * @author <a href="mailto:clf@vdongzc.com">clf</a>
 * @Description: 微信支付的上下文信息
 * @Date Create on 2018-12-13 15:10:22
 * @since version1.0
 */
public class WechatPaymentContext extends PaymentContext {

    /**
     * 商品描述（必填）
     */
    private String body;

    /**
     * 终端IP
     */
    private String spbillCreateIp;

    /**
     * 交易类型（必填）
     * JSAPI--公众号支付
     * NATIVE--原生扫码支付
     * APP--app支付，统一下单接口trade_type的传参可参考这里
     * MICROPAY--刷卡支付，刷卡支付有单独的支付接口，不调用统一下单接口
     */
    private String tradeType;

    private String openid;

    /**
     * 商品id
     */
    private String productId;

    /**
     * 拼接的xml格式数据，用于传递给微信服务端的参数
     */
    private String xml;

    private String nonceStr;

    private String deviceInfo;

    private String notifyUrl;

    private String appid;

    private String mchAppid;

    private String mchId;

    private String mchid;

    private String key;

    private String partnerTradeNo;

    private String amount;

    private String desc;

    private String checkName;

    private String attach;

    public String getBody() {
        return body;
    }

    public void setBody(String body) {
        this.body = body;
    }

    public String getSpbillCreateIp() {
        return spbillCreateIp;
    }

    public void setSpbillCreateIp(String spbillCreateIp) {
        this.spbillCreateIp = spbillCreateIp;
    }

    public String getTradeType() {
        return tradeType;
    }

    public void setTradeType(String tradeType) {
        this.tradeType = tradeType;
    }

    public String getOpenid() {
        return openid;
    }

    public void setOpenid(String openid) {
        this.openid = openid;
    }

    public String getProductId() {
        return productId;
    }

    public void setProductId(String productId) {
        this.productId = productId;
    }

    public String getXml() {
        return xml;
    }

    public void setXml(String xml) {
        this.xml = xml;
    }

    public String getNonceStr() {
        return nonceStr;
    }

    public void setNonceStr(String nonceStr) {
        this.nonceStr = nonceStr;
    }

    public String getDeviceInfo() {
        return deviceInfo;
    }

    public void setDeviceInfo(String deviceInfo) {
        this.deviceInfo = deviceInfo;
    }

    public String getNotifyUrl() {
        return notifyUrl;
    }

    public void setNotifyUrl(String notifyUrl) {
        this.notifyUrl = notifyUrl;
    }

    public String getAppid() {
        return appid;
    }

    public void setAppid(String appid) {
        this.appid = appid;
    }

    public String getMchAppid() {
        return mchAppid;
    }

    public void setMchAppid(String mchAppid) {
        this.mchAppid = mchAppid;
    }

    public String getMchId() {
        return mchId;
    }

    public void setMchId(String mchId) {
        this.mchId = mchId;
    }

    public String getMchid() {
        return mchid;
    }

    public void setMchid(String mchid) {
        this.mchid = mchid;
    }

    public String getKey() {
        return key;
    }

    public void setKey(String key) {
        this.key = key;
    }

    public String getPartnerTradeNo() {
        return partnerTradeNo;
    }

    public void setPartnerTradeNo(String partnerTradeNo) {
        this.partnerTradeNo = partnerTradeNo;
    }

    public String getAmount() {
        return amount;
    }

    public void setAmount(String amount) {
        this.amount = amount;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    public String getCheckName() {
        return checkName;
    }

    public void setCheckName(String checkName) {
        this.checkName = checkName;
    }

    public String getAttach() {
        return attach;
    }

    public void setAttach(String attach) {
        this.attach = attach;
    }

    @Override
    public String toString() {
        return "WechatPaymentContext{" +
                "body='" + body + '\'' +
                ", spbillCreateIp='" + spbillCreateIp + '\'' +
                ", tradeType='" + tradeType + '\'' +
                ", openid='" + openid + '\'' +
                ", productId='" + productId + '\'' +
                ", xml='" + xml + '\'' +
                ", nonceStr='" + nonceStr + '\'' +
                ", deviceInfo='" + deviceInfo + '\'' +
                ", notifyUrl='" + notifyUrl + '\'' +
                ", appid='" + appid + '\'' +
                ", mchAppid='" + mchAppid + '\'' +
                ", mchId='" + mchId + '\'' +
                ", mchid='" + mchid + '\'' +
                ", key='" + key + '\'' +
                ", partnerTradeNo='" + partnerTradeNo + '\'' +
                ", amount='" + amount + '\'' +
                ", desc='" + desc + '\'' +
                ", checkName='" + checkName + '\'' +
                ", attach='" + attach + '\'' +
                '}';
    }
}
